(i) Technical Field
The present invention relates to a non-transitory computer readable medium, a program protection apparatus, and a program protection method.
(ii) Related Art
In order to conceal secrets which are included in a code executed in a computer or in order to prevent a code from being revised, a method of describing a code based on the command of an individual virtual machine (a virtual Central Processing Unit (CPU)) has been known. In such a method, the analysis of a code is complicated in such a way as to emulate the code described based on the command of the virtual machine in an actual computer (native environment).
It is necessary that a programmer writes a code for the individual virtual machine or prepares a compiler which compiles a code written in a High-level language into a command for the virtual machine.
When the code for the individual virtual machine is emulated on the actual computer (native environment), the execution speed thereof is much slower than the execution speed of a native code for the computer. Therefore, if an entire large-scaled execution program is written in the individual code and emulated, the execution speed is remarkably slow.
In addition, as a JNI (Java (registered trademark) Native Interface), there is a technology of calling a library, which is executed using the CPU of the native environment, from a code emulated on the VM, and mixing the execution of emulation and a program which is run on the native environment. In this technology, it is necessary that a person who writes a program should write a program code used to call the library, and additional knowledge and operation are necessary to write the program.